home *** CD-ROM | disk | FTP | other *** search
- *******************************************************************************
-
-
- IBM ASYNCHRONOUS COMMUNICATIONS SUPPORT PROGRAM MODIFICATIONS
- BY ROBERT C. RICE
-
- PROGRAM DESCRIPTION
-
- *******************************************************************************
-
-
- The IBM Asynchronous Communication Support Program provides software needed
- to allow the Personal Computer to communicate with a wide variety of computer
- systems including several IBM mainframe computers. While emphasizing great
- flexability in communications and providing a protocol for file transfer be-
- tween Personal Computers, the Asynchronous Communications Support Program
- lacks a number of features required by the average user. Uploading and Down-
- loading files to and from commercial computer networks such as the SOURCE
- and CompuServe is an example. Additionally, the user must be technically
- competent in communications protocol to be able to properly set selectable
- parameters provided through various menus. User friendly design has been
- substantially ignored. Also, a programming error prevents proper use of the
- backspace key.
-
- This Program Description provides information about changes that I have made
- to my version of the IBM Asynchronous Communications Support Program, correct-
- ing errors, providing enhancements, improving user friendliness, and eliminat-
- ing unnecessary entries. The following is an overview of the enhancement
- program. Each feature will be discussed in detail later in this paper.
-
- 1. A 64K version named SHORTERM.BAS, and a 96K version named LONGTERM.BAS.
- 2. Correction of the backspace problem.
- 3. Elimination of width question, automatic selection of screen width and an
- option to bypass all intermediate menus, going directly into full duplex
- operation.
- 4. Additional preselected parameters for Display Selection and Dialing Option
- for the Hayes Smartmodem.(Use of displays and Autodial modem is optional.)
- 5. Addition of "terminal type" for "Starting as" or "Returning as"
- printouts to eliminate any question as to what terminal was selected.
- 6. Download capability, including error trapping, file directory printout,
- On/Off switching of data recording for open files, and status indicator.
- 7. Upload capability, including error trapping, file directory printout,
- On/Off switching, status indication.
- 8. Time/Date/Status line. The right side of line 25 used to display time, date
- (if entered), Hex Listing, Printer, Upload, and Download status symbol
- display while operating as a terminal.
- 9. Extended use of function keys including F5 to call up Function Key help
- menu. F7 to turn printer On/Off. F8 for Telephone/LOG-ON menu and functions.
- F9, an Upload On/Off switch. F10, a Download On/Off switch. Also use of
- ALT P to print maximum receive buffer used. ALT H to display Telephone/LOG-
- ON help menu. And in the 96K version ALT S for Half Duplex force to SENDING
- state.
- 10.Telephone/LOG-ON menu and function. Designed primarily for, but not
- limited to use with the Hayes Smartmodem. Selected numbers are automa-
- tically dialed, and all LOG-ON entries are made using the F8 key.
- 11.When XON/XOFF supported the automatic suspension of input when F2 function
- selection menu is entered by sending XOFF and when returning to terminal
- operation, automatic resumption of transmission by sending XON.
- 12.Automatic enabling of error messages upon terminal startup and elimination
- of input parity detection to eliminate unnecessary and excessive error mes-
- sages.
- 13.Error trapping routines supported in many, but not all areas for printer
- applications.
- 14.Use of F5 function key when returning from BASIC. (Function menu item#3)
- instead of having to type continue.
- 15.Two new function selections to exit the Communications Program, including
- warning messages with verification of program termination. The exit
- routines also including "COM1:" close-out to prevent program hangup.
- 16.Changes to preset terminal parameters, facilitating program initialization
- in full duplex mode and the bypassing of intermediate menus.
-
- I must acknowledge the assistance of Morris E. Thompson of Dallas, Texas
- in this effort, since he supplied the final versions of the backspace fix and
- the original versions of the Upload/Download that are contained in the follow-
- ing program. I must also acknowledge the fine people connected to the SOURCE
- and John Lamond, a SOURCE representative, for giving me needed information
- which I used to develop this program.
-
- There are four documents which support these program modifications. First,
- this paper describes the functional changes that were made to the program
- and provides a reference document for program operation. Second, Program
- Notes have been provided to assist you in understanding the changes and so that
- you may properly adapt the program for your use. Third, there is a Tutor-
- ial, showing you how to use the program. Fourth, the actual program which
- you will use to modify the original IBM program. The Functional Description
- is as follows:
-
- 1) There are two versions of the program modifications. The first is a 64K
- version designed to fit into the same amount of memory as was required
- for the original program. This version has the VM370, TSO, and Half Duplex
- support removed so that other more useful program features could be incor-
- porated. This version also requires changes to the AUTOEXEC.BAT file
- which is executed when you load the diskette. Since BASIC does not use a
- random file, or its own communications buffer, additional memory is freed
- by setting the random file buffer and communications buffer to a minimum
- setting. This change must be made, otherwise an OUT OF MEMORY error will
- occur. A 96KB version is also provided so that users with the proper amount
- memory will have all capabilities from the original program included as
- well as all of the program enhancements. This is done by relocating the
- machine code RS232 interrupt handler into the memory segment above the
- 64K used by BASIC.
-
- 2) The original IBM program did not properly backspace when the backspace
- key was depressed. A fix was provided which corrects the problem and
- allows for full utilization of the backspace key.
-
- 3) Each time the program was loaded or the "Return to terminal Selection" was
- invoked from the function menu, the question was asked whether you wanted
- 40 or 80 character screen width. This is a determination that should be
- made once when you first use the program but not each time. This modifi-
- cation allows you to adapt a 40 or 80 character screen width for color
- video monitors when you get the program, then after the screen width is
- automatically set depending upon whether the monochrome display or the
- color graphics adapter is being used. In place of the question about width
- is the question "Bypass intermeditate menus (y/n)?". Parameters have been
- preselected in this program for proper use with the SOURCE and other like
- computer networks. It is therefore unnecessary to go through a terminal
- selection every time you use the program. Answering "Y" or yes to this
- question will allow you to go directly into operation as a full duplex
- terminal. This value may be adapted to other terminal selections so that
- users with special applications may also avoid having to go through the
- selection menu except on special occaisions. Answering "N" or no to the
- question will allow you to go through the terminal selection menu as the
- original program does now. For people with varied applications, I suggest
- that you make several copies of the program, each with a preset terminal
- configuration, this way you may also avoid all the terminal selections
- each time you use a different application. (preset values are fully des-
- cribed in the Programming Notes section.) When screen width is determined
- the program title lines are properly centered on the screen regardless of
- width setting. The program title has also been changed to indicate the
- program version, and acknowledge contributers.
-
- 4) Two additional parameter values have been added to the program. First, the
- addition of a "Modem dialup Option" was added for users of the Hayes Smart-
- modem. You may select use of either touchtone or pulse dialing. The pro-
- gram is preset to touchtone and may be preset at pulse for startup. (See
- programming notes). Also, a parameter has been added which allows you
- to select the type of display, the monochrome or color video monitor. This
- is intended for users with both displays connected at the same time, allow-
- ing change from one monitor to the other during terminal operation. This
- does not affect which display will be used at program startup. The display
- used at startup is determined by the selected switches on the system board.
- Those of you who will not utilized the features just mentioned, need not
- make any changes to the program.
-
- 5) The original IBM program displayed "You are Starting up as a Terminal" when
- you entered the terminal operation mode from the terminal selection menu,
- and displayed "You are back as a Terminal" when returning from the function
- selection menu. Since this program modification bypasses terminal selec-
- tion, a feature has been added telling you what kind of terminal you are
- are using. For example, "Starting as a Full Duplex Terminal" or "Starting
- as a PC Computer Terminal". This is true for the "Back as" statement also.
-
- 6) Download/Upload capabilities have been provided for use in Full Duplex and
- Personal Computer operation. This section describes Download, and item 7
- describes Upload. The original program for these capabilities was sup-
- plied by Morris Thompson, Dallas, Texas. I have made further changes and
- improvements. The Download capability allows you to store all incomming
- data on diskette. This function is selected from terminal operation by
- depressing F2. Selection of item 4 then allows you to designate a local
- file name for input of data. An option has been provided to printout a file
- directory of either or both disk drives before naming the input file. Also,
- the opened file will append the data to any existing file, rather than
- erasing the data if you name an existing file by mistake. Error trapping is
- provided during the file directory printout, and program operation to pre-
- vent a program stop. (A Download file is called "Log File" in the program.)
- A status symbol is provided on the last display line(25). When a "log file"
- is open, an "L" is present in the status line. If data is being recorded
- on the log file, then the "L" increases in intensity and flashes. When the
- log file is closed, the "L" disappears. More information on the status line
- is provided in item 8.
-
- Once a log file has been opened, it will begin recording data as soon as
- you return to terminal operation. Recording in the "Log File" may be sus-
- pended by utilizing the F10 key. The flashing "L" on the status line will
- stop flashing, but will be present until the log file is closed. Record-
- ing data on the log file resumes when the F10 key is again depressed. The
- status symbol "L" again intensifies and flashes, indicating that recording
- has resumed. (There may be a slight delay from the time a function key is
- depressed and when the status symbol appears on line 25.)
-
- Log files may be closed or redesignated by depressing F2, and menu item #4.
- A new log file may then be designated.
-
- Files which have been created by the download may be viewed after program
- use through functions in DOS or EDLIN. Text may not be loaded into the
- computer unless it is in program format, each line beginning with a number.
- Programs may be viewed by loading them, and then using the BASIC list com-
- mand. Other text may be viewed on the screen using the DOS TYPE command
- or copied to the printer using the DOS COPY command. EDLIN may be used to
- edit the received data or just to view it using the List command.
-
- Program files which have been received via download are in ASC II format.
- Normal storage for BASIC programs is in a compressed binary format. Pro-
- grams stored in ASC format take up more room on the disk and take longer
- to load. I suggest loading the received program and then using the BASIC
- "save" command without the ",a" option to store the program in binary for-
- mat for normal usage.
-
- 7) Upload provides the capability to transmit ASC II files stored on disk
- to another computer system while operating in Full Duplex or Personal
- Computer mode. This function is selected from terminal operation by dep-
- ressing F2. Selection of item 5 then allows you to designate the local
- file that is to be uploaded. An option has been provided to printout a file
- directory of either or both disk drives before naming the output file.
- A status symbol is provided on the last display line(25). When an Upload
- file is open, a "U" is displayed while in terminal operation. After making
- the proper entries on the Host system (the SOURCE for example) to open
- a MAIL, POST, or other file, F9 is used to begin file transfer. The status
- symbol will brighten and flash, indicating the file transfer is in pro-
- gress. The Upload may be suspended at any time by again depressing F9.
- The status symbol will again stop flashing.(A slight delay may be noticed
- between the time a Function Key is depress, and the resulting display on
- line 25.) The Upload, if left to continue, will proceed until all data
- has been transfered, then the "U" will disappear from the status line and
- a message will appear in the error message area indicating "Upload complete,
- File Closed". Error messages may be displayed by depressing F3.
-
- Upload files may be closed or redesignated by selecting F2, then menu item
- #5. Opening a new file for Upload may then be accomplished.
-
- Upload files may be text files created using EDLIN or word processing soft-
- ware utilizing DOS formatted diskettes. EasyWriter V1.00 files may not be
- transferred. Programs which have been created and stored in ASC II format
- may also be Uploaded. (To save a BASIC program in ASC format, utilize the
- "SAVE" with the ",a" option, or List ,"filename".)
-
- A word of caution must be given here. When creating text files for Upload
- to the SOURCE, whenever two carriage returns are present in a file without
- a character between them, the SOURCE computer will exit the file program
- and return to command level. You may avoid this by placing two spaces on
- blank lines, such as occur between paragraphs. (This does not occur in the
- mail files, since exit is accomplished with "Dot Commands".)
-
- 8) Line 25 of the display is normally reserved for soft keys and in certain
- applications, may be used to display special messages that do not get
- scrolled along with the rest of the screen. The original Async. program
- utilizes line 25 to display error messages on the left side of line 25,
- while the right side is only used under certain circumstances. For example
- during Personal Computer file transfer, the send or receive state is dis-
- played along with the current line number of the file being transferred.
- In half duplex mode, that area is used to designate whether in SENDING or
- RECEIVING state. This program utilizes the right half of line 25 to dis-
- play status symbols, time of day, and date, except when time and date have
- not been entered at program startup, or when other program functions are
- utilizing the area as described above. Entry of time and date at program
- startup requires a change to the AUTOEXEC.BAT file as well as copying the
- TIME.COM program from a DOS diskette to the Async. program diskette.
-
- Status symbols appear on line 25 (right half) as follows: An "H" will
- appear when the Hex Listing function is active. (Hex listing activated by
- depressing F6. The Hex listing function provides a hexadecimal value on the
- screen in addition to its character representation.) A "P" will appear
- when the Printer function is on. (F7 is the Print function On/Off switch.)
- A "U" will appear when an upload file is open. The "U" will brighten and
- flash when an Upload is in progress. An "L" will appear when a Download
- (or Log) file is open. The "L" will brighten and flash when a Download is
- in progress.
-
- Additionally, "F5=HELP" is displayed on the status line.
-
- For color televisions, or any screen utilizing a 40 character width, the
- status line will appear on line 25, and error messages will appear on line
- 24. The "*" indicating an error message is awaiting display, shall con-
- tinue to be displayed in the first character position of line 25.
-
- 9) Additional function keys have been utilized in this program as well as
- ALT H,P,and S for certain lesser used functions. F5, previously used by the
- Half Duplex function to "Force to SENDING state", is now utilized to dis-
- play a Function key help menu. This menu gives a short description of
- each Function, and ALT key used for special purposes. This menu is also
- displayed at the beginning of terminal operation. Function key F7 is used
- as an On/Off switch for the printer. This function was resident in the
- original IBM program with limited capabilities and was not documented or
- enabled. The program improvement allows for the printout of incoming data
- as well as the keyboard input. IBM had only used printout of keyboard data
- in the Full Duplex mode. (Use of the printer to make hardcopy of incoming
- data substantially slows down the data transfer. The preferred method is
- to use a log file and print the data at a later time.) Use of F8 will be
- explained in item #10. Use of F9 is explained in item #6, and use of F10
- was described in item #7. Use of Function Keys 1-4 and 6 remain the same
- as decribed in the Async. manual.
-
- The ALT key used in conjunction with other keys also performs functions.
- Use of the ALT key is performed by first depressing and holding the ALT key
- and then depressing the associated key, then releasing both. ALT H is used
- to display a Telephone/LOG-ON help menu which describes use of the F8 key,
- while ALT P is used to "Print maximum receive buffer used" as a diagnostic
- aid. This is another undocumented, unpublished feature of the Async.
- program. IBM originally used the F8 key for this purpose but did not have
- this function enabled. Additionally, in the 96K version the ALT S key is
- used to "Force to SENDING state" for Half Duplex operation. This was
- an F5 function in the original IBM version.
-
- 10)This program feature is certain to be one of the highlights of the new
- program. Through use of the F8 key, a user may call up a telephone dial-
- ing menu. If a Hayes Smartmodem is used for communications, he will be able
- to select a telephone number associated with a service such as the SOURCE
- or CompuServe, etc. have the number dialed by the computer/modem and then
- proceed with the LOG-IN procedure by depressing the F8 key in response to
- each request by the Host system. Other keys are also used to facilitate
- the operation. For example, if it becomes necessary to re-do a particular
- entry, the "cursor left" (or numeric 4) key is depressed once and then the
- F8 key. This repeats the last entry, or backs up one entry. Depressing the
- "cursor left" key twice before F8 will backup two previous entries, etc.
- The "HOME" key is utilized to enable the F8 key at the beginning of the
- sequence, or from the Telephone menu. The "END" key is used to enable
- the F8 key for the DISCONNECT function. In otherwords, when you log off and
- the telephone should be hung up, simply depress "END" then F8. The screen
- will display "DISCONNECTING" and after a short delay, "+++" will appear
- followed by "ATH" and then a response from the Smartmodem of "OK". The
- phone will then be back on the hook! (Providing Smartmodem parameters are
- factory settings.)
-
- There are several variables which you must supply in the program which
- affect use of this function, and several different displays which appear
- depending upon your selections. (See programming notes for specifics.)
- First, if you are not using a Smartmodem, you may still use the Telephone
- menu and the subsequent LOG-ON procedure. In this case, the telephone
- menu selection does not dial the telephone but causes the correct LOG-ON to
- be selected. Next, you will be prompted to dial the telephone # manually
- and then use F8 to LOG-ON. One other option which creates a different
- display is the adapting of only one telephone number in the program.
- This eliminates the display of the selection menu and causes the one
- telephone number adapted to be called when you first depress the F8 key.
-
- The format of the Telephone menu is as follows: Company to be dialed,
- telephone #, City in which the telephone # is located, and the telephone
- network being used. It is recommend that you obtain several telephone
- numbers for each company used, at least one for each network i.e. TYMNET
- and TELENET, and if nothing else have the same telephone number adapted
- with an alternate Sign-on procedure as listed in the SOURCE manual page
- 2-9. A maximum of 9 numbers may be placed in the menu. The programming
- required for LOG-ON procedures is somewhat complicated but supports both
- TYMNET and TELENET procedures, as well as CompuServe network and CompuServe
- TYMNET entries. (See programming notes for details.)
-
- A list of telephone numbers for your area and service may be obtained as
- follows: The SOURCE -- type at command level >TYMTEL
- CompuServe -- type at command level !GO CIS-4
- then menu item #8
-
- If you have a special application, contact me for information.
-
- 11)The F2 key which is used for selection of the terminal function menu, may
- be depressed at any time during terminal operation. If data is being
- received at the time, the possibility of a "receive buffer" overflow is
- present. It may be necessary to exit terminal operation, for example, to
- select a new Upload or Download file. To eliminate the possibility of data
- loss, an XOFF is transmitted to the receiving computer if XON/XOFF is
- being supported as well as an XON which is transmitted when returning to
- terminal operation. XON/XOFF is supported by many computer systems in-
- cluding the SOURCE. This control code is the same as is what is sent to
- the Host computer when the CTRL S and CTRL Q are depressed to stop and
- start the scrolling of the screen.
-
- 12)The original IBM program allowed for error messages to be displayed at the
- bottom left half of the screen. First, you had to depress the F4 key to
- enable the messages, and then most likely, you heard continuous beeping
- from the machine. Error messages displayed using F3 indicated "Received
- Char. Parity Error." The new program modification eliminates the check
- for parity errors, but enables other error messages upon program startup.
- Normally, "No Parity" would be selected for use with the SOURCE and other
- like networks. However, when "No Parity" is selected as a parameter in
- this program, then 8 data bits are assumed. Only 7 data bits are trans-
- mitted, therefore, elimination of parity checking in that manner would
- cause incorrect characters to be displayed on the screen.
-
- 13)Error trapping routines have been added to the program to prevent a program
- stop in event of a printer error. Not every printer statement in the
- program was protected by error trapping, since there are many, and the ones
- most likely to be encountered have been protected, such as within t Full
- Duplex transmit/receive loop.
-
- 14)Item #3 under the Function Selection Menu (entered using F2 from terminal
- operation) allows you to exit the communications program temporarily to
- perform such tasks as listing the program, printing files, etc. and then
- return to terminal operation, function selection menu by typing CONT and
- "Enter". This program modification allows use of the F5 "soft key" feature
- to resume communications program operation. Simply depress "F5" to resume
- terminal operations in the function menu.
-
- 15)Two more options have been added to the function selection menu as entered
- from terminal operation using F2. One option allows you to exit the com-
- munications program permanently to the BASIC interpreter and the other
- allows exit to DOS (which is useful when you need to print a log file just
- received). These routines are different from the original "Return to BASIC"
- as provided by menu item #3. Both routines close files, and insure that
- the terminal interrupt handler no longer has control over the Communications
- port. This eliminates the potential problem of program hangup. Past ex-
- perience has demonstrated that if this is not accomplished, the system may
- sometimes need to be "powered down" to clear memory to eliminate a program
- hangup. This is more likely to happen when more than one communications
- adapter port is physically installed in the system unit. This program
- modification helps prevent this from occurring.
-
- When either of the exit routines are selected, you will first be asked if
- you are "sure" you want to terminate the communications program. If the
- answer is "N" or no then the program returns to the function selection menu.
- If the answer is "Y" or yes, then the communications program is terminated.
- If DOS has been selected, you are instructed to insert a DOS diskette and
- press any key when ready.
-
- 16)Several preset parameters for Full Duplex operation have been changed from
- the original settings. First of all, Even parity is selected instead of
- Mark. Secondly, Characters are displayed when echoed by the Host computer
- system. The first character to be deleted is the Carriage Return. The
- second character to be deleted is the Line feed and the third character
- to be deleted is Escape. All other parameters remain as originally set
- by IBM. (See program notes if other than the above settings are required).
-
- This completes the Functional Description of Asynchronous Communications
- Support Program Modifications. You should now have a basic understanding
- of the capabilities of the program. Further questions about the operation
- of particular functions should be answered after using the Tutorial section
- of the documentation.
-
- <* End of file *>